'''
需求：使用for循环完成下面的案例
请编写一个程序，可以接受一个整数，表示层数(total_level).打印出空心金字塔【化繁为简，先死后活】
思路分析：
 - 先死后活
 1.先不考虑层数的变化，假定就是5层,后面做活
 - 化繁为简
 1.打印矩形
 2.打印直角三角形
 3.打印实心金字塔
 4.打印空心金字塔

 开始
 1.打印矩形
     *****
     *****
     *****
     *****
     *****
 2.打印直角三角形
     *        1
     **       2
     ***      3
     ****     4
     *****    5
 3.打印实心金字塔
      *         1层  1个*  2 * 1 -1  空格 4  5 -1
     ***        2层  3个*  2 * 2 -1  空格 3  5 -2
    *****       3层  5个*  2 * 3 -1  空格 2  5 -3
   *******      4层  7个*  2 * 4 -1  空格 1  5 -4
  *********     5层  9个*  2 * 5 -1  空格 0  5 -5
  2 * 层数 - 1
 4.打印空心金字塔
      *         1层  1个*  2 * 1 -1  空格 4  5 -1
     * *        2层  3个*  2 * 2 -1  空格 3  5 -2
    *   *       3层  5个*  2 * 3 -1  空格 2  5 -3
   *     *      4层  7个*  2 * 4 -1  空格 1  5 -4
  *********     5层  9个*  2 * 5 -1  空格 0  5 -5
'''

total_level = 10
for i in range(1 , total_level+1):
    for k in range(total_level - i):
        print(" " , end="")
    for j in  range(2*i-1):
        #默认是换行，print中有参数 end 保持不换行
        #如果是第一个或者是最后一个或者i=5的时候就打印*   i = 5的时候全部输出，代表最后一行要全部输出
        # j = 2 * i - 1 - 1 = 2*i-2 = 2*(i-1)
        if j == 0 or j == 2*(i-1) or i == total_level:
            print("*" , end="")
        else:
            print(" ", end="")
    print("")

